﻿using BCDto.Location.Driver;
using BCDto.TMS.Driver;
using MongoDB.Bson;
using System.Collections.Generic;

namespace BCService.TMS.Location.Driver
{
    public  interface IDriverLocationService
    {
        /// <summary>
        /// 当前登录司机设置位置
        /// </summary>
        /// <param name="currentDriver">当前登录司机设置</param>
        /// <param name="dto">位置信息</param>
        /// <returns></returns>
        DriverLocationBsonDto SetLocation(DriverDto currentDriver, DriverLocationRequestDto dto);
        /// <summary>
        /// 获取附近几公里的司机信息
        /// </summary>
        /// <param name="location">指定的经纬度位置</param>
        /// <param name="maxDistance">最大几公里</param>
        /// <param name="query"></param>
        /// <param name="projections"></param>
        /// <returns></returns>
        IEnumerable<DriverLocationBsonDto> GetGeoNearLocationsByCoordinate(double[] location, double maxDistance, List<BsonElement> query, List<BsonElement> projections);
        /// <summary>
        /// 获取司机位置信息
        /// </summary>
        /// <param name="vehicleNo">车牌号</param>
        /// <returns></returns>
        DriverLocationBsonDto GetDriverLocationInfo(string vehicleNo);
    }
}
